Automatic Repeat Request (ARQ) protocol is used in many modern telecommunication systems for improved link level reliability. ARQ protocol involves two entities A and B as shown in FIG. 1. A block of data exchanged between two entities is referred herein as a packet or data packet. The transmitter of entity A sends a payload data packet with a cyclic redundancy check (CRC). The receiver of entity B decodes the data packet and checks the received CRC against locally computed CRC to determine whether the received data packet is correct. If the data packet is correctly received, the entity B sends a positive acknowledgement (ACK) using its transmitter. If the received data packet has errors, the entity B sends a negative acknowledgement (NACK) using its transmitter. Based on the status of the acknowledgement (ACK or NACK) obtained by receiver of entity A, it may determine whether to send a new data packet or retransmit the data packet that was not received correctly by the entity B. The process of NACK and retransmissions may continue for several attempts until either the data packet is successfully received or maximum allowed retransmissions have been attempted.
Hybrid ARQ (HARQ) protocol takes advantage of the retransmissions in ARQ to enable the receiver to make decoding of the currently received data packet by combining it with all the previously received transmissions of the same data packet that were not successfully decoded. An example of HARQ protocol is illustrated in FIG. 2. This enables the receiver to take advantage of all the received information in current as well as previously received transmissions for the same data packet. Each successive retransmission improves the probability of correctly decoding the data packet.
For the receiver to be able to combine the information from different transmissions of the same data packet, the receiver must know a priori that a data packet being received at any given time corresponds to a new data packet transmission or retransmission of a previously unsuccessfully received data packet. The HARQ protocol may have provisions to provide the required information for this purpose. For example, each data packet may be identified by a sequence number. Furthermore, the sequence number of the data packet may be provided separately, for example as a header for a data packet as illustrated in FIG. 1. The header carrying the sequence number for a data packet may be encoded or transmitted in a manner such that it has much higher reliability than the payload data packet transmission. Similarly, the ACK/NACK message may include the sequence number of the data packet being ACKed or NACKed. Similar to the header, the ACK/NACK may be encoded or transmitted in a manner such that it has much higher reliability than the payload data packet transmission. The sequence number of a data packet enables the receiver to uniquely identify a data packet from a group of data packets to correctly combine the received information from different transmissions of the same data packet.
One of the key requirements for a receiver to support HARQ is the ability to store the previously received unsuccessful transmissions for combining with future retransmissions. The storage of the previously received unsuccessful transmissions can be very large depending on the exact details of the HARQ protocol used. For example, in case of 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) wireless communication system, the storage requirements are specified depending on the category of the User Equipment (UE). For example, a Category-4 UE is required to store 1827072 “soft channel bits.” The term “soft” in the phrase “soft channel bits” refers to the confidence level for each received bit being either logic ‘0’ or logic ‘1’. The soft channel bits are also referred to as Log Likelihood Ratio (LLR). The term “channel bits” in the phrase “soft channel bits” refers to the received demodulated bits but before performing Forward Error Correction (FEC) decoding.
In general, the LLRs can have wide dynamic range. To limit the bit width and therefore to limit the complexity of FEC decoding and also to limit the storage requirements for HARQ, the LLRs may be quantized. Each quantized value may be represented by a codeword consisting of few bits. For example, each quantized LLR value may be represented by 4, 5, or 6 bits. Considering the case of 6 bits per LLR value, the total storage requirement for LTE Category-4 UE is 6*1827072=10962432 bits. This is a significant amount of memory requirement.
In 3GPP LTE wireless communication system, each block of payload data, called Transport Block, is transmitted every subframe of 1 ms duration. A Transport Block is made up of a number of Code Blocks as shown in FIG. 3. Each Code Block is encoded such that it can be independently decoded by the receiver. All the Code Blocks must be successfully decoded to be able to decode a Transport Block. For each Code Block that is not decoded successfully, the UE may save the LLRs for that Code Block in the HARQ LLR buffer. The receiver of a UE sends a NACK if a Transport Block is not decoded successfully. As per 3GPP LTE specifications, the transmitter at a base station, known as evolved Node B (eNB), may retransmit the entire Transport Block. This is true even if some Code Blocks are successfully decoded by the receiver during earlier transmissions. When processing the retransmitted Transport Block, the receiver in the UE may need to retrieve the saved LLRs and combine them with the LLRs computed from the currently received data. The combining operation may be performed on per Code Block basis. The Code Blocks that may have been already decoded successfully during earlier transmissions need not be processed by the UE receiver.
In order to allow for receiver processing delay, the ACK/NACK may be transmitted some time after the actual time instant at which the data packet may be transmitted. Similarly, when the ACK/NACK is received by the transmitting entity, the retransmission may be sent some time after the actual reception of the ACK/NACK. In 3GPP LTE wireless communication system, the ACK/NACK is transmitted at least four subframes (4 ms) after the reception of the Transport Block. The eNB may send the retransmissions, at the earliest, four subframes after receiving the ACK/NACK status from the UE. Therefore, in case of 3GPP LTE wireless communication system, as illustrated in FIG. 4, there is a gap of at least 8 subframes (8 ms) between initial transmission and subsequent retransmissions. This duration is also known as HARQ Round Trip Time (RTT). In FIG. 4, Redundancy Version (RV) refers to the different versions of the encoded Transport Block that may be used for retransmissions.
If the eNB and UE were to cease transmission until one Transport Block is successfully decoded, the throughput of the system may be significantly reduced. Therefore, the HARQ protocol in 3GPP LTE wireless communication system allows transmission of multiple Transport Blocks before requiring retransmissions of previously transmitted Transport Blocks. Specifically, the 3GPP LTE Frequency Division Duplex (FDD) wireless communication system allows eight new transmissions before waiting for retransmissions as illustrated in FIG. 5. This requires that the UE should be able to store the LLRs for up to eight Transport Blocks. The total storage of 10962432 bits mentioned above is for the cumulative of all eight Transport Blocks.